#pragma once

#include <string>
#include <vector>
#include <opencv2/opencv.hpp>

#include "PedestrianBox.h"

class BaseDetection
{
public:
	BaseDetection() {};
	virtual ~BaseDetection() {};

	virtual int init(const std::string& weight_path) = 0;
	virtual int predict(const std::vector<cv::Mat>& vec_imgs, std::vector<std::vector<Detection>>& final_res, int predict_h = 512, int predict_w = 512) = 0;
	virtual int free() = 0;
};
